查看原文
其他

通过一个demo学会互联网API接口的使用

我是程序汪 我是程序汪 2021-09-08

前些天程序汪分享了一个互联网免费接口文章,具体链接( 100多个免费API接口分享 调用完全不限次数,以后总用得着 ) 很多互联网实用接口,开发微信小程序,APP等等互联网应用非常香

粉丝都说分享了那么多接口,还想要个demo,程序汪就出一个简单demo吧

其实程序汪以前分享过一个抓B站弹幕和评论的demo

B站抓弹幕小程序例子,一下看1千弹幕好爽哦

B站抓评论小程序例子,5万条评论说抓就抓



什么是网络API接口

    网络API接口就是各种大公司对外提供的一种各种信息和数据获取的接口像腾讯,阿里巴巴等都提供这种接口,一些小公司和个人就可以通过这些接口获取各种信息,如城市天气信息,生成二维码,地图信息,手机号码归属地等。这些小公司就可以通过付费的方式使用这些接口,从而做出像天气预报查询,地图导航等一系列的APP。对于我们学习使用来讲这些接口大部分都有免费使用次数,足够我们学习使用


环境

出demo不说环境的都是耍流氓


Java version 1.8.0_241

mvn -v Apache Maven 3.6.3

IDEA


<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
<dependency>
<groupId>
com.alibaba</groupId>
<artifactId>
fastjson</artifactId>
<version>
1.2.47</version>
</dependency>
<!--=====================http工具类================= begin-->
<dependency>
<groupId>
commons-httpclient</groupId>
<artifactId>
commons-httpclient</artifactId>
<version>
3.0</version>
</dependency>
<!--=====================http工具类================= end-->



DEMO


其实关键代码就10行左右,程序汪演示获取北京天气情况,大家可以根据自己需求情况优化此demo

package com.http;
import com.alibaba.fastjson.JSONObject;import org.apache.commons.httpclient.HttpClient;import org.apache.commons.httpclient.cookie.CookiePolicy;import org.apache.commons.httpclient.methods.GetMethod;import org.apache.commons.httpclient.methods.PostMethod;import java.io.BufferedWriter;import java.io.File;import java.io.FileWriter;import java.io.IOException;
/**欢迎关注 我是程序汪 微信公众号**/public class HttpTest {
public static void main(String[] args) { HttpClient httpClient = new HttpClient(); try { httpClient.getParams().setCookiePolicy(CookiePolicy.BROWSER_COMPATIBILITY); getMessage(httpClient); } catch (Exception e) { e.printStackTrace(); } } private static void getMessage(HttpClient httpClient) throws IOException { /**             *  URL 这个地址说从高德开发平台是找到,这种API其实网上一大把 * 说明下 有两个核心参数 city 是城市码 key是高德上申请到 */ String dataUrl="https://restapi.amap.com/v3/weather/weatherInfo?city=110101&key=这个请自己去高德上申请吧"; PostMethod postMethod=new PostMethod(); GetMethod getMethod = new GetMethod(dataUrl); httpClient.executeMethod(getMethod); String text = getMethod.getResponseBodyAsString(); JSONObject jsonObject=JSONObject.parseObject(text); System.out.println("返回json内容:"+jsonObject.toJSONString()); //返回到json你可以解析DB 还可以输入其他 writeContent(jsonObject.toJSONString());
} public static void writeContent(String data){ try{ File file =new File("weather.txt"); if(!file.exists()){ file.createNewFile(); } FileWriter fileWritter = new FileWriter(file.getName(),true); BufferedWriter bw= new BufferedWriter(fileWritter); bw.write(data); bw.newLine(); bw.flush(); bw.close(); System.out.println("Done"); }catch(IOException e){ e.printStackTrace(); }    }}



key申请


本DEMO是高德天气API接口

进入高德官网

https://lbs.amap.com/dev/key/app



有具体获取KEY说明,大公司API接口文档都比较清楚详细,下面都是下一步下一步都事情而已


申请KEY的

一下是程序汪申请的key,小伙伴们自己去申请吧

运行效果



这是浏览器上访问到效果


main直接运行即可


总结



  • 在互联网上找到API接口,如上高德天气接口

  • 找到http工具类,本DEMO上是Java  其他语言套路一样

  • 申请KEY,本高德DEMO比较简单,有些接口安全级别高的还要申请密钥  如支付宝到支付接口

  • 获取到的数据然后解析数据,定制自己个性化业务逻辑类,本DEMO只上简单展示下没要特别逻辑

  • 大家可以参考学习下大公司的API接口设计,比如异常码的定义,密钥签名的设计,业务json的入参出参定义,我们都可以学习参考。


程序汪推荐武汉的java后端开发,找工作的朋友可以看下(下面链接进去有公司具体要求和情况)程序汪帮武汉某公司招聘java程序员


程序汪往期精彩文章包含答案





程序汪最近整理的BAT大小厂面试题2019 (面试题目录推荐)

目录:我把精华文章都整理出来了

程序员新人刚进公司很懵逼,程序汪给5个建议

19 个强大、有趣、好玩、又装B的 Linux 命令!

Tomcat 爆出高危漏洞!

程序汪推荐你去阿里巴巴java后端岗位,进来看看

阎王爷让我给他做个生死簿后台管理系统

疫情当下,帮公司远程技术电话面试java期望1万7千程序员

继续帮公司面试2万的java程序员,一轮电话面试很基础

这是目前最快的 Java 框架,300个框架中排名第一,真香

给个[在看],是对程序汪最大的支持
: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存